Many commercial transactions are based on the licensing of property, products or services by a licensor for a limited scope and which may involve a limitation of the scope and/or duration of their use by a licensee. Licenses typically operate to restrict or otherwise limit the user's ability to assign, redistribute, resale or otherwise change the intended beneficiary of the license, while other restrictions may be directed to how, when, where and for how long the use may occur. Both parties generally derive an economic benefit from structuring a transaction in such a fashion: (1) the licensor retains ownership interest in the subject of the license and control over who may make, use or sell the same; and (2) the licensee enjoys the benefit of using the property, product or service at a reduced cost as compared to the underlying cost to a licensee to outright acquire or develop the property, product or service.
Individuals may encounter a variety of circumstances in their daily lives that involve the licensing of goods and services. For example, renting an apartment; or a hotel room, watching a film at a movie theatre; renting or leasing a car, obtaining permission from the state to drive or operate a motor vehicle, making a telephone call with a calling card, joining a private gym or country club, or using computer software applications are all forms of licensing.
In the commercial software industry software application products have generally been sold on a purchase basis with license agreements for limited use of the software. Sales representatives often market the software to prospective end-users and, upon purchase in a conventional fashion, the software is then provided to the user on diskettes or other media along with, for example, user manuals. As such, many software applications have been sold primarily on a long-term or permanent license basis with support service being provided under long-term, fixed-price contracts.
From an end-user's perspective, software acquisition under a conventional purchase based license agreement can be expensive. Specifically, once an end-user initially invests in a conventional software purchase, the acquisition of additional software titles from other vendors may not be economically feasible. Moreover, the vendor may charge the user for application upgrades and continuing product support. In this regard, many end-users may become dependent on a particular vendor and/or application product.
From a software application vendors perspective, a large portion of revenue is generally spent on sales, marketing and user support through direct sales and the use of VAR (value added reseller) channels. However, Internet access and the proliferation of high speed connections (i.e., T1, cable and DSL) have made the electronic distribution of software application products more feasible. As the popularity and accessibility of the Internet has grown, vendors have increasingly looked to the Internet as an effective medium for reducing sales and marketing costs. As a result, some vendors have expanded to support electronic purchase and delivery of software applications over the Internet, but generally under the conventional license agreement model discussed immediately above. However, a need exists for a comprehensive method to manage, track and customize software application licenses.
In addition to cost and efficiency concerns, vendors often are confronted with the issue of software piracy and other unlicensed, unauthorized or illegal use. As a result, vendors have generally implemented certain security features within software products to protect the application from unlicensed use. The vendor may therefore find that expensive additional resources are required to support these licensing security features in addition to support for the software application itself. In many instances, the support for a software application includes live telephone support. As many as 50% of the technical support telephone calls that a vendor receives may involve licensing security issues. Often, this support can prove to be a burden on the vendor's available development resources. Accordingly, a need exists for a licensing system that can be outsourced to a third party for management and support so that software vendors can operate more efficiently by reallocating resources to, for example, application development.
Electronic distribution of software applications also poses a security risk for many vendors. Conventionally, when an encryption method is employed to protect the software code, protection after decryption of the software code may be minimal or non-existent. Accordingly, once the software application has been delivered to the end-users platform, it may be difficult for the vendor to protect against tampering and software piracy. Furthermore, some electronic security solutions implemented by vendors are cumbersome. For example, the user may be required to maintain a data connection with an Application Service Provider (ASP) while using the distributed software. An ASP working environment may also limit access to new users to the distributed application, if other users occupy all available access points or licensed seats to the vendor site.
Some existing software application licensing systems implement a client-server model which includes a method of wrapping licensing instructions around a software product and integrating licensing management as part of the installation process. The license server contains a license database for tracking and managing existing software licenses, product definitions, wrapped software products, online purchase processing functions, and end-user software registration functions.
A typical method for software licensing in this client-server model includes the following steps. A developer creates a software application product. The developer selects a licensing management service. Using tools integrated from the licensing management service, the developer generates instructions for wrapping license management code around the application to create a license management protected application. These wrapping instructions describe, among other things, a particular license policy that the developer wants to implement for this application. Alternatively, the developer could use a software development kit to embed license management code into the application that would result in a license management protected application with the desired license policy. The protected application may then be packaged and delivered to end-user licensees for subsequent installation and use. When a local instance of the protected application is instantiated by an end-user licensee management client, the management client checks for a license key on the client system. If a license key is found, the management client unlocks or unwraps the protected application and provides access to the software to the end-user. If no license key is found, the management client requests authorization over an Internet communication link from the license management server to provide appropriate access to the wrapped application. If the license management server confirms a valid license, a license key is provided to the management client and saved on the client system. If the license management server does not locate a valid license, the license management server initiates an order fulfillment application and otherwise manages a software license sales transaction. This order fulfillment application may be web browser-based Java applet, embedded in the application, part of the license management wrapper, or any other software technology that implements order management and fulfillment functions.
The client-server model of software licensing described above may be augmented with an electronic storefront that can be provided through an application buying option embedded in the software application or wrapper as well as a link to a electronic commerce website. An end user can search the electronic store and then download a desired protected application and license management client. Once the license management client and protected application are installed on the client system, license management steps like the previous described steps would be preformed to enable use of the protected application on the client system. In some systems, the client management software is wrapped with the protected application to form one downloadable and executable software installation package.
License policies implemented in the wrapped/protected application can take many forms. For example, the protected software may be licensed by an end user for a specified time period and then either renewed or cancelled when prompted by the management client. Similarly, the protected software may be licensed with varying levels of functionality depending on the needs of the end user (e.g., trialware, basic, medium, and full featured implementations). An end user can unlock the various levels of functionality by interacting with the order fulfillment functions on the license server to pay for a desired license level.
A need exists for a system to address these and similar deficiencies associated with the effective and efficient management of licensing in a wide variety of licensee and licensor market environments. With respect to the software application industry in particular, a need exists for a turnkey electronic or software only method for obtaining licenses and distributing software applications. Such a software only based licensing system would eliminate the cost, complexity, and administration associated with licensing systems incorporating custom hardware-based keys or other custom devices. A need also exists for a secure method for vendor distribution of software and for maintaining security on the end-user's platform.
One aspect of existing software licensing systems that is not presently addressed is adjustment of software application pricing based on local economic conditions. Such local economic condition pricing policies have been implemented in other types of commodities such as clothing, foods and pharmaceuticals. Disparate pricing policies between elastic and inelastic markets have been described by economists in conjunction with the “Ramsey Theory.” Geographic regions are often used to define different markets.
According to disparate pricing theory, it may be profitable for a company to adjust prices of a product to local market conditions. A cheaper product with a smaller profit may be acceptable to broaden the market size and thus sales volume in low-income geographic areas. In the pharmaceutical industry, high profit sales from higher income areas are used to fund research and development costs. Low profit-low cost sales to low-income countries drive a higher sales volume that in turn helps to keep per unit drug production costs low by increasing the overall manufacturing volume. In order for this disparate pricing policy to work, the cheaper products must be kept from high priced markets to preserve higher profit margins in the higher income geographic areas for a higher cost product. Rigorous enforcement of patent rights and copyrights in various countries has enabled the pharmaceutical industry to successfully implement and maintain disparate pricing policies for certain types of drugs. However, the cost of legal enforcement to maintain this disparate pricing policy has likely been very high, perhaps costing the pharmaceutical industry hundreds of millions of dollars.
Like in the pharmaceutical industry, the incremental cost of manufacturing in the software industry is low once the high upfront research and development cost for a particular software product has been paid for. Unlike the pharmaceutical industry, rigorous enforcement of patent rights and copyrights may not be practical. Illegal copies of drugs can be identified and stopped as they are imported into or exported from a country. In contrast, software is often transmitted electronically over packetized data networks such as the Internet that have virtually no controls in place to stop data from being transmitted from one country to another. As such, stopping illegal copies of software from being imported into or exported from a particular country may be impractical.
Software piracy is common in low-income geographic areas. If a more affordable software product license is made available for purchase in these low-income geographic areas, users of pirated software may be willing to purchase legitimate copies of software licenses. If these former pirated software users purchase legitimate copies of the software licenses, the software vendor obtains licensing revenues that they otherwise would not have received and expands their user base. Such users of affordable legitimate software licenses would avoid legal prosecution for using pirated software products and would enjoy the benefits of regular users such as customer support and software updates. By providing the affordable licenses, a software vendor creates a larger loyal user base of their software products that may upgrade to a higher level software license as the user's economic position changes.
It may be beneficial to implement some form of disparate pricing policy based on geographic areas in the software industry so that higher volumes of sales can be achieved. Therefore, a need exists for a software licensing system that can implement disparate pricing policies based on geographic locations. Preferably, such a software licensing system would be able to enforce use limitations for the software based on geographic areas so that lower priced software products can be kept from higher income geographic areas where higher priced equivalent software products are sold.
The present invention provides a solution to these needs and other problems, and offers other advantages over the prior art.